package com.link.base.base.product.service;

import com.link.base.base.product.model.ProdColl;
import com.link.base.base.product.model.ProdCollCount;
import com.link.core.basic.service.BasicService;

import java.util.List;

/**
 * @author unknown
 * @date unknown
 * @comments 产品收藏服务
 */
public interface ProdCollService extends BasicService<ProdColl> {

    /**
     * 根据商品ID删除一条数据
     *
     * @param entity
     * @throws Exception
     */
    public void deleteByProdId(ProdColl entity) throws Exception;

    /**
     * 统计收藏夹的数量
     *
     * @param entity
     * @return 收藏夹的数量
     */
    public ProdCollCount countProductByEmpId(ProdColl entity);

    /**
     * 删除收藏夹
     *
     * @param pc
     */
    public void deleteByUPIds(ProdColl pc);

    /**
     * 收藏夹产品数量
     *
     * @param entity
     * @return List ProdCollCount
     * @throws Exception
     */
    public List<ProdCollCount> countProduct(ProdColl entity) throws Exception;

    /**
     * 区别登录状态，小程序使用accntId关联empId
     *
     * @param entity
     * @return List ProdColl
     * @throws Exception
     */
    @Override
    public List<ProdColl> queryByExamplePage(ProdColl entity) throws Exception;

    /**
     * 根据ID查询收藏
     * 区别登录状态，小程序使用accntId关联empId
     *
     * @param entity
     * @return 产品收藏
     * @throws Exception
     */
    @Override
    public ProdColl queryById(ProdColl entity) throws Exception;

    /**
     * 查询MP收藏商品
     * @author 路江
     * @param entity
     * @return
     * @throws Exception
     */
    List<ProdColl> queryByCollExamplePage(ProdColl entity) throws Exception;
}
